from fastapi import APIRouter

from . import schemas

task_router = APIRouter(prefix="/tasks", tags=["Tasks"])


@task_router.get("/")
def get_task_list(page: int = 1, page_size: int = 100) -> schemas.GetTaskList:
    """Получить список всех задач"""

    return schemas.GetTaskList(**{
        "tasks":
            [
                {
                    "id": 1,
                    "name": "Покормить кота",
                    "description": "Не забыть покормить кота, иначе он съест меня"
                }
            ]
    })


@task_router.get("/{task_id}")
def get_task_detail(task_id: int) -> schemas.Task:
    """Получить детальную информацию по конкретной задаче"""

    return schemas.Task(**{
        "id": task_id,
        "name": "Покормить кота",
        "description": "Не забыть покормить кота, иначе он съест меня"
    })


@task_router.post("/")
def create_task(task: schemas.AddTask) -> schemas.Task:
    """Создать новую задачу"""

    return schemas.Task(**task.model_dump())


@task_router.post("/{task_id}")
def update_task(task_id: int, task: schemas.AddTask) -> schemas.Task:
    """Обновить задачу"""

    return schemas.Task(**task.model_dump())


@task_router.delete("/{task_id}")
def delete_task(task_id: int) -> schemas.DeleteTask:
    """Удалить задачу"""

    return schemas.DeleteTask(**{
        "result": True
    })
